package bestTeam.WalkieDoggie.client.ServicesInterfaces;
import java.io.IOException;
import java.util.List;

import bestTeam.WalkieDoggie.client.Location;
import bestTeam.WalkieDoggie.client.NotLoggedInException;
import bestTeam.WalkieDoggie.client.Serializables.LoginInfo;
import bestTeam.WalkieDoggie.client.Serializables.UserProfileData;
import bestTeam.WalkieDoggie.server.Persistant.AppUser;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("facebookUsers")
public interface FacebookUsersService extends RemoteService {
	public LoginInfo facebookLogin(String code,String clientId, String loginRedirectURL, String secret);
	//public LoginInfo login(String requestUri);
	public void addAppUser(UserProfileData userData, String accessToken) throws NotLoggedInException, IOException;
	public void setCredits(String id, Integer delta) throws NotLoggedInException;
	public double setRanking(String id,double ranking);
	public UserProfileData[] getUsers(String[] usersId) throws NotLoggedInException;
	public UserProfileData getUser(String userId) throws NotLoggedInException;
	public List<UserProfileData> getAllAppUser();
	public void updateUserGeoLocation(String id, Location location);
	public void sendDailyEmail(UserProfileData u);
	public void setImage();
}